1. Field of the Technology
The technology presented herein relates to a communication game program and a communication game system. More particularly, the technology relates to a communication game program and a communication game system for executing a game in which a plurality of objects are respectively operated by a plurality of game devices.
2. Description of the Background Art
Conventionally, a game system in which a plurality of players participate in a same game simultaneously by connecting a plurality of game devices to each other through a network is widely known. Particularly, in recent years, a network role playing game (hereinafter, referred to as a network RPG) has become popular. A plurality of players are able to participate in the network RPG through a server, or through a peer to peer network.
In such network game as described above, when a player participating in the network game operates a game object by using his/her game device, the game device operated by the player transmits to other participating game devices data concerning the object operated by the game device of the player. The data concerning the object is, for example, position data which represents a position of the object inside a game space. The other participating game devices determine for each game device positions and actions of all objects which are in the same game space based on the data concerning the object. However, a delay in communication occurs frequently among the game devices in the game system in which the game devices are connected to each other through the network. That is, due to the delay in communication among the game devices connected through the network, there can be a situation in which an object, for which position data is transmitted from a transmitter to receivers, is already at a different position compared with where the object is according to the position data (i.e., position information is already out-dated by the time the information is received).
In the network RPG, no substantial harm is caused thereupon as long as all the participating game devices arrive at the same end result of the game in spite of slight difference in images displayed on each game device at a given point in the course of the game. That is, there is no major problem for the network RPG, even if all the participating game devices are not synchronized in terms of data reception due to increase and decrease of a network traffic (whether the network is connected in a wireless manner or wired manner), or noise in the data reception.
On the other hand, when executing games such as a racing game or an action game in a communication system through the network, an accurate display of a progress of such game cannot be achieved simply by relying on data transmitted by participating game devices. For example, consider a case of a racing game in which data transmitted by a game device is position data indicating a position of a racecar at a given time. In this case, by the time the position data, transmitted by the game device operating a racecar, is received by a reception game device, the racecar will probably not be at a position represented by the position data. Therefore, indicating the racecar at the position as represented by the position data does not represent actual progress of the racing game. When playing games such as the racecar game or the action game, a player needs to operate the game with an accurate timing and with swiftness. To this end, if displays indicating progress of the game are not synchronized for all the participating game devices, each game device participating in the game processes the game differently from one another, which means that a result of the game is invalid.
In patent document 1 (Japanese Laid-Open Patent Publication No. 2004-105671), there is a disclosure of a game system which is directed to solving the aforementioned problem by using a client-server type network. According to the game system, a client calculates a position of where a racecar operated thereby is going to be in a predetermined period of time. Then the client transmits to the server information concerning a current position of the racecar, information concerning time (future time) after the predetermined period of time has passed, and information concerning the calculated position of where the racecar is going to be in the predetermined period of time. Further, the client receives from the server information transmitted to the server from other clients. Then, the client calculates, based on the aforementioned information concerning calculated positions of the racecar and the future time, current positions of other racecars operated by other clients. As described above, by calculating positions of where the racecars are going to be in the future, this game system attempts to solve the problem concerning the delay of the communication.
According to the game system disclosed in the patent document 1, the game device at a receiving end receives data, which is transmitted by other game devices at transmitting ends and concerns calculated position and future time, and specifies positions of where other racecars operated by other game devices at the transmitting ends of the data are going to be. However, it is a difficult task to accurately detect an actual amount of time required for the game device to receive the data transmitted by other game devices. For example, even if the amount of time required for the data transmission is measured in advance, a network connection environment (e.g., communication speed or noise) changes constantly, and therefore, in actuality, data is not always guaranteed to be received by the receiving end as measured. Furthermore, when data is transmitted from one of the transmitting ends to the receiving end, there is a case where the data is received after a future time represented by the data has passed. When such case happens, the game device at the receiving end becomes unable to specify positions of the racecars. Therefore, according to the conventional game system, since calculations are executed by the game device at the transmitting end, by the time the game device at the transmitting end transmits a result of the calculation the result is already out-dated, and by the time the receiving end receives the result, the result may have no validity at all. Therefore, in order to prevent such problem from happening, a future time could be set as far apart as possible from a current time. This, however, reduces an accuracy of the calculation and thereby conflicting with an accurate calculation.